//
// Created by mongobaba on 2021/6/8.
//

#include "unit_test.h"
#include "json_validator.h"

// 特殊情况
TEST(parse_member_empty) {
    json_validator validator("");
    ASSERT_EQ(false, validator.parse_member());
    ASSERT_EQ(std::string(""), validator.left());
}

// 正常情况
TEST(parse_member_true) {
    json_validator validator(R"("age":123x)");
    ASSERT_EQ(true, validator.parse_member());
    ASSERT_EQ(std::string("x"), validator.left());
}

// 异常情况，没有属性名
TEST(parse_member_no_name) {
    json_validator validator(":123x");
    ASSERT_EQ(false, validator.parse_member());
    ASSERT_EQ(std::string(":123x"), validator.left());
}

// 异常情况，没有属性值
TEST(parse_member_no_value) {
    json_validator validator(R"("age":x)");
    ASSERT_EQ(false, validator.parse_member());
    ASSERT_EQ(std::string("x"), validator.left());
}
